package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 流程申请审批记录业务对象 lc_process_management_list
 *
 * @author ruoyi
 * @date 2023-08-10
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class LcProcessManagementListBo extends BaseEntity {

    /**
     *
     */
    @NotNull(message = "不能为空", groups = { EditGroup.class })
    private Long approveId;

    /**
     * 流程id
     */
    @NotNull(message = "流程id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long processId;

    /**
     * 审批人集合
     */
    @NotBlank(message = "审批人集合不能为空", groups = { AddGroup.class, EditGroup.class })
    private String auditUserId;

    /**
     * 确认人id
     */
    @NotNull(message = "确认人id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long verifyUserId;

    /**
     * 确认人名称
     */
    @NotBlank(message = "确认人名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String verifyUserName;

    /**
     * 审批类型(0发起（修订），1会签，2审核，3签发)

     */
    @NotNull(message = "审批类型(0发起（修订），1会签，2审核，3签发) 不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer auditType;

    /**
     * 审批步骤
     */
    @NotNull(message = "审批步骤不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sort;

    /**
     * 类型(0:并行 1:串行)
     */
    @NotNull(message = "类型(0:并行 1:串行)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer executionType;

    /**
     * 审批状态(0:待审批 1:审批中 2:审批通过 3:审批不通过)
     */
    @NotNull(message = "审批状态(0:待审批 1:审批中 2:审批通过 3:审批不通过)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer auditState;

    /**
     * 审批意见
     */
    @NotBlank(message = "审批意见不能为空", groups = { AddGroup.class, EditGroup.class })
    private String context;

    /**
     * 版本
     */
    @NotBlank(message = "版本不能为空", groups = { AddGroup.class, EditGroup.class })
    private String processVersion;

    /**
     * 流程名称
     */
    @NotBlank(message = "流程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String processName;

    /**
     * 流程编号
     */
    @NotBlank(message = "流程编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String processNo;

    /**
     * 主办部门id
     */
    @NotNull(message = "主办部门id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long deptId;

    /**
     * 主办部门名称
     */
    @NotBlank(message = "主办部门名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deptName;

    private String activeName;


}
